package cn.iocoder.an.module.business.controller.admin.equipmentcheckrecord.vo;

import cn.idev.excel.annotation.ExcelProperty;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.an.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.an.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 点检记录分页 Request VO")
@Data
public class EquipmentCheckRecordPageReqVO extends PageParam {

    @Schema(description = "设备id", example = "10564")
    private Long equipmentId;

    @Schema(description = "设备id", example = "10564")
    private List<Long> equipmentIdList;

    @Schema(description = "点检人")
    private Long checkUser;

    @Schema(description = "点检人")
    private String checkUserName;

    @Schema(description = "点检时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] checkTime;

    @Schema(description = "点检结果 1通过 2不通过")
    private Integer checkResult;

    @Schema(description = "点检通过项ID", example = "30800")
    private String checkItemId;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;



    @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("设备名称")
    private String equipmentName;

    @Schema(description = "设备型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "xxx-5")
    private String equipmentModel;

    @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "信息部")
    private String deptName;

    @Schema(description = "设备编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "0014")
    @ExcelProperty("设备编码")
    private String code;

    @Schema(description = "设备分类")
    private Long equipmentClassify;



    @Schema(description = "设备类型", example = "1")
    private Integer equipmentType;


}